1.08. Видеокарта
Что такое видеокарта?
Видеокарта (графический адаптер, графическая плата) представляет собой специализированное вычислительное устройство, предназначенное для ускорения обработки, генерации и вывода графической информации.
Её основная задача — преобразование данных, поступающих от центрального процессора (CPU) или собственного программного интерфейса, в визуальные образы, отображаемые на экране монитора, проекторе или другом устройстве вывода.
Так выглядит типичная современная видеокарта:

Когда вы запускаете игру, редактор видео или нейросеть, именно видеокарта отвечает за то, чтобы изображение на экране обновлялось быстро и плавно. Без неё каждое движение курсора или прокрутка страницы были бы медленными, особенно при работе с графикой высокого разрешения.
Современная видеокарта — это полноценный вычислительный ускоритель, активно задействуемый в научных расчётах, машинном обучении, обработке видео, криптографии и других ресурсоёмких задачах, требующих массового параллелизма.
Функциональная роль видеокарты
При обучении модели распознавания лиц нейросеть обрабатывает миллионы фотографий. Каждая операция умножения и сложения выполняется тысячами ядер GPU одновременно. На CPU такой расчёт занял бы дни, на GPU — часы.
Центральный процессор традиционно оптимизирован для последовательной обработки инструкций с высокой латентностью, но ограниченным количеством параллельных потоков. В отличие от него, видеокарта основана на архитектуре, ориентированной на массовый параллелизм. Это делает её чрезвычайно эффективной в задачах, где требуется выполнить одну и ту же операцию над большим объёмом данных — например, преобразование вершин трёхмерных моделей, наложение текстур, фильтрация пикселей, обучение нейросетей или декодирование видеопотока.
Видеокарта выполняет две ключевые роли:
- Графический ускоритель — обрабатывает команды графических API (Direct3D, Vulkan, OpenGL, Metal) для построения и отображения изображений. Этот режим востребован в играх, CAD-приложениях, визуализации данных, мультимедийных редакторах.
- Вычислительный ускоритель — исполняет общие вычислительные задачи через такие платформы, как CUDA (NVIDIA), ROCm (AMD) или OpenCL. В этом режиме видеокарта используется для численного моделирования, обучения моделей машинного обучения, анализа больших данных и других областей, где важна пропускная способность по операциям с плавающей запятой (FLOPS).
Использование видеокарты в этих ролях существенно разгружает центральный процессор, позволяя системе работать более эффективно и масштабируемо.
Графический процессор (GPU)
Если нужно применить фильтр к каждому пикселю изображения размером 4K (около 8 миллионов пикселей), GPU может обработать все пиксели почти одновременно. CPU сделал бы это последовательно, по частям.
Графический процессор (Graphics Processing Unit, GPU) — это центральный вычислительный элемент видеокарты. Подобно CPU, GPU содержит ядра, кэш-память, контроллеры и шины, но его архитектура принципиально отличается. GPU спроектирован для обработки тысяч потоков данных одновременно. Такой подход называется массовым параллелизмом (massive parallelism).
| Уровень иерархии | NVIDIA (пример: Ada Lovelace) | AMD (пример: RDNA 3) | Intel (пример: Arc Alchemist) | Назначение |
|---|---|---|---|---|
| Ядро (CUDA Core / Stream Processor) | 128 ядер в одном обёрнутом блоке | 32 ядра в четверке | 16 ядер в подблоке | Базовая вычислительная единица для операций с плавающей точкой и целочисленных вычислений |
| Обёрнутый блок (Warp) | 32 потока, выполняемых синхронно | Волновой фронт 64 потока | 8 потоков в группе | Минимальная единица планирования для исполнения инструкций |
| Потоковый мультипроцессор (SM) | До 128 ядер + тензорные/RT-ядра | Вычислительный блок (CU) с 64 ядрами | Xe Core с 256 ядрами | Локальная подсистема с собственным кэшем и планировщиком |
| Графическая область (GPC) | Несколько SM + растеризаторы | Рабочая группа (WG) | Рендер-срез | Крупный функциональный блок с полным набором конвейеров рендеринга |
| Полный кристалл GPU | До 12 800 ядер в H100 | До 6144 ядер в RX 7900 XTX | До 512 ядер в Arc A770 | Интеграция всех вычислительных и специализированных блоков |
Каждый потоковый мультипроцессор содержит собственную иерархию кэш-памяти:
- Регистровый файл — десятки тысяч 32-битных регистров, распределяемых между активными потоками
- Кэш L0 / Shared Memory — 128–256 КБ быстрой памяти общего доступа для потоков внутри одного блока
- Кэш L1 — 128–192 КБ на мультипроцессор для ускорения доступа к данным
- Кэш L2 — общий для всего кристалла, от 2 МБ до 96 МБ в зависимости от класса устройства
Сравнение архитектур CPU и GPU
| Параметр | Центральный процессор (CPU) | Графический процессор (GPU) |
|---|---|---|
| Количество ядер | 4–64 физических ядер | 1024–18 432 вычислительных ядер |
| Тактовая частота | 2.5–6.0 ГГц | 1.0–3.0 ГГц |
| Ширина конвейера | 3–6 инструкций за такт | До 64 операций за такт на мультипроцессор |
| Кэш-память на ядро | 512 КБ – 2 МБ L2 + общий L3 | 64–256 КБ общего кэша на мультипроцессор |
| Тип параллелизма | Многопоточность с небольшим числом потоков | Массовый параллелизм с тысячами потоков |
| Латентность памяти | 50–100 тактов для кэша L3 | 200–400 тактов для глобальной памяти |
| Пропускная способность памяти | 50–100 ГБ/с (через DDR5) | 500–1200 ГБ/с (через GDDR6X/HBM2e) |
| Энергопотребление | 65–350 Вт | 75–600 Вт |
| Оптимальные задачи | Последовательные вычисления, ветвления, низколатентные операции | Матричные операции, обработка изображений, физические симуляции |
Центральный процессор эффективен при работе с кодом, содержащим сложную логику ветвления и зависимости между последовательными операциями. Графический процессор достигает максимальной производительности при обработке регулярных структур данных — матриц, изображений, геометрических примитивов — где одна и та же операция применяется к тысячам независимых элементов.
Современные GPU состоят из множества вычислительных блоков, объединённых в потоковые мультипроцессоры (Streaming Multiprocessors, SM — в терминологии NVIDIA) или вычислительные блоки (Compute Units — в архитектуре AMD). Каждый такой блок содержит десятки или сотни логических ядер, работающих синхронно над разными частями данных. Это позволяет GPU достигать вычислительной мощности, многократно превосходящей возможности даже высокопроизводительных CPU, при условии, что задача допускает параллельную обработку.
GPU управляет конвейером рендеринга, включающим этапы обработки вершин, сборки примитивов, растеризации и фрагментного шейдинга. В контексте универсальных вычислений GPU исполняет ядра (kernels) — функции, загружаемые в память устройства и запускаемые на тысячах потоков одновременно.
Графический конвейер преобразует трёхмерные модели в двумерное изображение на экране через последовательность специализированных этапов.
| Этап конвейера | Основные операции | Выполняемая шейдерная программа | Типичная нагрузка |
|---|---|---|---|
| Вершинный шейдинг | Преобразование координат вершин, анимация скелета | Vertex Shader | 1–10 миллионов вершин за кадр |
| Тесселяция | Динамическое увеличение детализации геометрии | Hull Shader → Tessellator → Domain Shader | Зависит от уровня детализации |
| Геометрический шейдинг | Генерация новых примитивов на лету | Geometry Shader | Ограниченное применение из-за производительности |
| Растеризация | Преобразование примитивов в фрагменты (пиксели) | Аппаратный блок | 1–10 миллиардов фрагментов за кадр |
| Фрагментный шейдинг | Расчёт цвета каждого пикселя с учётом текстур и освещения | Pixel/Fragment Shader | Основная вычислительная нагрузка |
| Постобработка | Сглаживание, цветокоррекция, эффекты | Compute Shader | Зависит от применяемых эффектов |
Современные архитектуры поддерживают программирование всех этапов конвейера через шейдерные языки (HLSL, GLSL, SPIR-V), что даёт разработчикам полный контроль над визуальным результатом.
Видеопамять (VRAM)
Видеопамять — это высокоскоростная память, физически интегрированная на печатной плате видеокарты и подключённая к GPU через широкую шину (часто 256-битную и более). В отличие от системной оперативной памяти (DRAM), видеопамять оптимизирована для высокой пропускной способности и низкой задержки при частом случайном доступе к большим объёмам данных.
4 ГБ VRAM достаточно для офисной работы и просмотра видео в Full HD. 8–12 ГБ VRAM необходимо для игр в 1440p с высокими настройками. 24 ГБ и более требуется для обучения современных нейросетей (например, Stable Diffusion XL или Llama 3).
Видеопамять — это рабочий стол художника. Чем больше стол, тем больше красок, эскизов и инструментов можно разместить перед началом работы. Если стол мал, художнику придётся постоянно убирать и доставать материалы, что замедлит процесс.
Современные видеокарты используют типы памяти, такие как GDDR6, GDDR6X или HBM2/3 (High Bandwidth Memory). GDDR6 — наиболее распространённый стандарт, обеспечивающий скорости передачи данных порядка 14–21 ГБ/с на контакт. HBM применяется в профессиональных и суперкомпьютерных решениях и характеризуется трёхмерной упаковкой чипов, что позволяет разместить память в непосредственной близости от GPU, минимизируя задержки и повышая энергоэффективность.
Видеопамять хранит:
- текстуры и буферы кадров (frame buffers);
- геометрические данные (вершины, индексы);
- буферы глубины (Z-buffer), трафарета (stencil buffer);
- промежуточные результаты вычислений при рендеринге или в общих вычислениях;
- веса и активации нейронных сетей в задачах машинного обучения.
Объём и пропускная способность видеопамяти напрямую влияют на производительность графического рендеринга и возможность обработки крупных наборов данных в вычислительных задачах. Например, обучение современных моделей машинного обучения может требовать десятков гигабайт видеопамяти, что недоступно на потребительских устройствах и достигается только при использовании профессиональных GPU или их кластеров.
Видеокарты используют специализированные типы памяти с высокой пропускной способностью, значительно превосходящие возможности стандартной оперативной памяти.
| Тип памяти | Пропускная способность на контакт | Типичная конфигурация | Энергопотребление | Применение |
|---|---|---|---|---|
| GDDR5 | 7–8 Гбит/с | 256-битная шина, 8 ГБ | 5–6 Вт/ГБ | Бюджетные и средние видеокарты до 2018 года |
| GDDR5X | 10–12 Гбит/с | 256-битная шина, 8–11 ГБ | 6–7 Вт/ГБ | Высокопроизводительные карты (GTX 1080 Ti) |
| GDDR6 | 14–16 Гбит/с | 256-битная шина, 8–24 ГБ | 4–5 Вт/ГБ | Современные игровые и профессиональные карты |
| GDDR6X | 19–21 Гбит/с | 384-битная шина, 24 ГБ | 7–8 Вт/ГБ | Флагманские решения (RTX 3090/4090) |
| HBM2 | 2.4 Гбит/с на стек, но 4096-битная шина | 4–16 стеков, 16–48 ГБ | 3–4 Вт/ГБ | Профессиональные ускорители (NVIDIA A100) |
| HBM3 | 5.2 Гбит/с на стек | До 12 стеков, до 120 ГБ | 3.5–4.5 Вт/ГБ | Серверные решения следующего поколения |
Ширина шины памяти определяет количество параллельных каналов передачи данных между GPU и видеопамятью. Типичные значения:
- 64 бита — бюджетные решения
- 128 бит — средний сегмент
- 192 бита — производительные карты
- 256 бит — высокопроизводительные решения
- 384 бита — флагманские игровые и профессиональные карты
- 512–4096 бит — серверные ускорители с памятью HBM
Интегрированные и дискретные видеокарты
В вычислительных системах применяются два основных типа графических решений:
-
Интегрированная графика — GPU встроен в чип CPU или чипсет материнской платы. Она использует часть системной оперативной памяти (через шину CPU) и обладает ограниченной производительностью. Такие решения характерны для ноутбуков, офисных ПК и энергоэффективных платформ, где графическая нагрузка минимальна.
-
Дискретная видеокарта — представляет собой независимое устройство с собственным GPU и видеопамятью, подключаемое к системе через интерфейс PCIe. Дискретные карты обеспечивают высокую производительность и необходимы для игр, профессиональной графики, машинного обучения и научных расчётов.
-
Интегрированная графика: Intel Iris Xe в ноутбуках Dell XPS 13, AMD Radeon Graphics в Ryzen 7 7730U.
-
Дискретная графика: NVIDIA GeForce RTX 4070, AMD Radeon RX 7800 XT.
Если вы используете компьютер для просмотра YouTube, Zoom-звонков и работы в браузере — интегрированной графики достаточно. Если вы монтируете 4K-видео в DaVinci Resolve, играете в Cyberpunk 2077 или обучаете ИИ — нужна дискретная видеокарта.
Энергопотребление и тепловыделение
Высокая параллельная производительность GPU достигается за счёт значительного энергопотребления и, как следствие, тепловыделения. Современные игровые и профессиональные видеокарты могут потреблять от 200 до 600 ватт и требуют сложных систем охлаждения — от массивных радиаторов с тепловыми трубками до жидкостных решений. Это накладывает ограничения на проектирование корпусов, блоков питания и систем кондиционирования в дата-центрах, где размещаются GPU-кластеры.
В дата-центрах, где установлены сотни GPU, расходы на охлаждение могут превышать затраты на электричество. Поэтому компании разрабатывают жидкостное охлаждение и размещают серверы в холодных регионах (например, в Исландии или Финляндии).
Программная модель взаимодействия с GPU
Для работы с видеокартой используются программные интерфейсы различного уровня:
- Графические API (DirectX, Vulkan, OpenGL, Metal) позволяют приложениям формировать и передавать команды рендеринга.
- Вычислительные платформы (CUDA, ROCm, OpenCL, SYCL) предоставляют средства для написания и загрузки вычислительных ядер.
- Драйверы устройства обеспечивают трансляцию высокоуровневых команд в машинные инструкции GPU, управление памятью, планирование задач и взаимодействие с операционной системой.
Эффективность использования видеокарты напрямую зависит от качества драйверов и корректности программной реализации: даже самый мощный GPU может демонстрировать низкую производительность при неоптимальной передаче данных или плохом распределении нагрузки между потоками.
// Пример ядра (kernel) на CUDA-подобном синтаксисе
__global__ void apply_brightness(float* image, float factor) {
int idx = blockIdx.x * blockDim.x + threadIdx.x;
image[idx] = image[idx] * factor;
}
Эта функция увеличивает яркость каждого пикселя изображения. Она запускается одновременно на тысячах ядер GPU — каждый поток обрабатывает свой пиксель.
Когда вы открываете сайт с 3D-графикой на WebGL (например, Google Earth), браузер использует Vulkan или DirectX через драйвер видеокарты, чтобы отобразить карту без зависаний.
Специализированные вычислительные блоки
Помимо универсальных вычислительных ядер, современные GPU содержат аппаратные ускорители для конкретных задач.
| Тип ускорителя | Производитель | Назначение | Производительность |
|---|---|---|---|
| RT-ядра | NVIDIA | Пересечение лучей с геометрией для трассировки в реальном времени | До 191 трлн операций пересечения в секунду (RTX 4090) |
| Тензорные ядра | NVIDIA | Матричные операции низкой точности для ИИ и DLSS | До 1320 тераопераций INT8 (RTX 4090) |
| Ray Accelerators | AMD | Аппаратное ускорение трассировки лучей в архитектуре RDNA 2/3 | До 68 трлн операций пересечения в секунду (RX 7900 XTX) |
| AI Accelerators | Intel | Ускорение ИИ-задач и апскейлинга в архитектуре Xe | До 512 тераопераций INT8 (Arc A770) |
| Mesh Shaders | NVIDIA/AMD | Замена традиционного конвейера тесселяции на программируемую генерацию геометрии | Снижение нагрузки на CPU при работе со сложными сценами |
Технология трассировки лучей имитирует физическое поведение света в сцене, обеспечивая реалистичное отображение отражений, преломлений и глобального освещения. Аппаратные ускорители снижают вычислительную сложность задачи пересечения луча с треугольниками с O(N) до O(log N) за счёт иерархических структур ускорения (BVH).
Интерфейсы программирования для GPU
Доступ к вычислительным ресурсам графического процессора осуществляется через стандартизированные программные интерфейсы.
| API | Владелец | Основное назначение | Поддержка платформ | Ключевые особенности |
|---|---|---|---|---|
| DirectX 12 Ultimate | Microsoft | Графика и вычисления в Windows | Windows 10/11, Xbox Series X/S | Интеграция трассировки лучей, VRS, Mesh Shaders |
| Vulkan | Khronos Group | Кроссплатформенная графика и вычисления | Windows, Linux, Android, macOS (MoltenVK) | Низкоуровневый контроль, явное управление памятью |
| CUDA | NVIDIA | Универсальные вычисления на GPU NVIDIA | Windows, Linux, macOS | Максимальная оптимизация для оборудования NVIDIA |
| ROCm | AMD | Универсальные вычисления на GPU AMD | Linux | Открытая платформа для научных вычислений |
| OpenCL | Khronos Group | Кроссплатформенные вычисления | Все основные ОС | Поддержка CPU, GPU и других ускорителей |
| Metal | Apple | Графика и вычисления на устройствах Apple | macOS, iOS, iPadOS | Оптимизация для архитектуры Apple Silicon |
CUDA остаётся доминирующим инструментом для научных вычислений и машинного обучения благодаря зрелой экосистеме библиотек (cuDNN, cuBLAS, TensorRT). Vulkan и DirectX 12 предоставляют разработчикам игр минимальные накладные расходы на взаимодействие с драйвером, что критично для достижения высокой частоты кадров.
Производители видеокарт
Рынок графических процессоров на протяжении последних трёх десятилетий формировался под влиянием трёх ключевых компаний: NVIDIA, AMD (включая унаследованное от ATI наследие) и Intel.
NVIDIA предлагает «всё в одном»: железо, драйверы, библиотеки, облачные сервисы. Это удобно, но привязывает пользователя к экосистеме.
AMD делает ставку на открытость: её драйверы работают в Linux без ограничений, а ROCm позволяет запускать ИИ-модели без лицензионных барьеров.
Intel стремится к совместимости: её GPU поддерживают те же стандарты, что и конкуренты, и встроены в большинство ноутбуков.
NVIDIA
Компания NVIDIA была основана в 1993 году Дженсеном Хуаном, Крисом Маллосом и Кертисом Принсом с целью создания специализированных чипов для ускорения трёхмерной графики. Прорыв произошёл в 1999 году с выпуском GeForce 256 — первого чипа, официально названного графическим процессором (GPU). NVIDIA последовательно делала ставку на производительность, инновации и вертикальную интеграцию: от аппаратных архитектур до собственных программных платформ.
В середине 2000-х NVIDIA осознала потенциал GPU в общих вычислениях. Это привело к созданию в 2006 году CUDA (Compute Unified Device Architecture) — первой массовой платформы для программирования GPU на языке, близком к C. CUDA изменила парадигму высокопроизводительных вычислений: вместо узкоспециализированных суперкомпьютеров исследователи и инженеры получили доступ к параллельным вычислениям через относительно недорогие потребительские GPU.
Сегодня NVIDIA — де-факто стандарт в машинном обучении, научных расчётах, автономных системах и профессиональной графике (линейка Quadro/RTX). Её стратегия заключается в построении сквозной экосистемы: аппаратные архитектуры (Turing, Ampere, Hopper), программные стеки (CUDA, cuDNN, TensorRT), облачные платформы (DGX, NVIDIA AI Enterprise) и даже собственные процессоры (Grace CPU для гибридных систем).
Технологические особенности.
- CUDA — закрытая, но чрезвычайно развитая платформа, поддерживающая языки C/C++, Python, Fortran и интеграцию с основными фреймворками машинного обучения (TensorFlow, PyTorch). Большинство научных статей по машинному обучению до 2023 года содержали код, написанный под CUDA. Это сделало видеокарты NVIDIA обязательным оборудованием в лабораториях, университетах и стартапах.
- Tensor Cores — специализированные блоки для ускорения операций с матрицами низкой точности (FP16, INT8), критически важные для нейросетей.
- RT Cores — аппаратные ускорители трассировки лучей в реальном времени, внедрённые начиная с архитектуры Turing.
- NVLink — высокоскоростной интерфейс для соединения GPU между собой и с CPU, обеспечивающий пропускную способность, значительно превосходящую PCIe.
NVIDIA придерживается вертикально интегрированной модели: контролирует как «кремний», так и «софт». Это даёт ей преимущество в оптимизации, но создаёт зависимость пользователей от её экосистемы.
AMD
Advanced Micro Devices (AMD) изначально была конкурентом Intel в сегменте центральных процессоров. В 2006 году компания приобрела канадского разработчика графических чипов ATI Technologies, что позволило ей войти в рынок дискретной графики. Первоначально AMD позиционировала GPU как часть гетерогенных вычислительных систем, где CPU и GPU работают в тесной связке (идея, названная Heterogeneous System Architecture, HSA).
В отличие от NVIDIA, AMD избрала путь открытости. В 2011 году была представлена платформа OpenCL-ориентированная модель вычислений, а в 2016 году — ROCm (Radeon Open Compute), открытая программная платформа для GPGPU, совместимая с Linux и поддерживающая основные фреймворки машинного обучения.
AMD делает ставку на ценовую доступность, совместимость со стандартами и гибкость. Её графические процессоры (линейка Radeon, профессиональные Instinct) широко используются в дата-центрах, особенно в тех случаях, где важна независимость от проприетарных экосистем.
Технологические особенности.
- RDNA — современная архитектура GPU (RDNA 1/2/3), ориентированная на высокую энергоэффективность и игровую производительность.
- CDNA — архитектура для вычислительных задач (используется в серии Instinct), оптимизированная под параллельные вычисления и матричные операции.
- Infinity Fabric — внутренняя шина, обеспечивающая высокоскоростное соединение между CPU, GPU и памятью в гибридных системах (например, в процессорах Ryzen и EPYC).
- ROCm — открытая альтернатива CUDA, поддерживающая HIP (язык, позволяющий транслировать CUDA-код в совместимый с AMD формат). С помощью инструмента HIP разработчик может автоматически преобразовать код, написанный для CUDA, в версию, совместимую с GPU AMD. Это позволяет запускать популярные модели, такие как Llama или Whisper, на видеокартах Radeon.
Intel
Intel долгое время доминировала в сегменте встроенной графики, интегрируя GPU в свои процессоры (Intel HD Graphics, Iris). Однако до 2020-х годов компания не предлагала конкурентоспособных дискретных видеокарт. Перелом произошёл с запуском проекта Xe, а в 2022 году — выпуском первой игровой дискретной карты Intel Arc на архитектуре Alchemist.
Стратегия Intel основана на трёх китах:
- Масштаб — использование собственных полупроводниковых мощностей (IDM 2.0) для массового производства.
- Интеграция — тесная связка GPU с CPU и другими компонентами (например, в гибридных процессорах Meteor Lake и Arrow Lake).
- Открытость и стандарты — поддержка Vulkan, DirectX 12 Ultimate, oneAPI (единая программная платформа для CPU, GPU, FPGA).
Intel нацелена на восстановление баланса на рынке: предложить альтернативу NVIDIA и AMD, особенно в сегментах entry-level и mid-range, а также в корпоративных и edge-вычислениях.
Технологические особенности.
- Архитектура Xe — модульная, с подвариантами Xe-LP (встроенная графика), Xe-HPG (игровые GPU), Xe-HPC (суперкомпьютеры, например, в ускорителе Ponte Vecchio).
- XeSS — технология суперразрешения на основе машинного обучения, аналог DLSS от NVIDIA.
- oneAPI — кроссплатформенный набор инструментов и библиотек для гетерогенных вычислений, призванный заменить привязку к CUDA или ROCm. Разработчик пишет один алгоритм обработки изображений, а затем запускает его на CPU Intel Core, GPU Intel Arc и даже на FPGA — без изменения исходного кода. Это упрощает разработку для гибридных систем.
- Наличие встроенного GPU в каждом современном процессоре — делает Intel де-факто лидером по количеству развёрнутых графических ядер в мире.